module.exports = {
  // tabs字典
  tabList: [
    {
      // 名称
      name: "全部",
      // 唯一关键字
      type: 0,
    },
  ],
  // 关键字转换配置
  queryTransform: {
    type: "type",
    page: "page",
    pageSize: "size",
  },
  // 是否预拉去tab list数据
  beforeFetch: true,
  // tabs一页数据量
  pageSize: 10,
  // tabs触底加载完毕是否进行再次加载
  tabsEndAgain: true,
  // 通过http response 更新转换tabs item数据
  updateTabItemFun(updateParams) {
    if (updateParams) {
      const {
        // tabItem对象
        tabItem,
        // tabItem页码
        tabItemPage,
        // 响应数据
        response,
        // 是否需要数据拼接
        concatAuto,
        // 是否需要置顶数据拼接
        topConcatAuto,
      } = updateParams;
      // 更换页码
      if (tabItemPage !== undefined) {
        tabItem.page = tabItemPage;
      }
      // 通过接口返回  总页数
      const responseData = response.data;
      // 是否加载完成
      const tabItemEndAuto = responseData.total == 0 || tabItem.page == responseData.total;
      tabItem.end = tabItemEndAuto;
      if (concatAuto) {
        tabItem.list.push(...responseData.list);
      } else {
        tabItem.list = responseData.list;
      }
      if (topConcatAuto) {
        if (this.topConcatFun && typeof this.topConcatFun === "function") {
          this.topConcatFun(tabItem);
        }
      }
      return tabItem;
    } else {
      throw Error("updateTabItem : Missing required parameters");
    }
  }
};
